                                 DIO Interpreter

DIO in evaluation mode (-eval) reads the given input file or
the console and executes the commands found in that.

Each command (expression) has the following syntax:

  { {<s1>} {<s2>} ... {<sN>} }$[$]

    or

  {<name>}$[$]

* Where '<sX>' can be the command's name or one of its parameter.
* Between '<sX>' can be any strings.
* $$ : Forced command : Interpreted as command "{%!}$"

Type of parameters:

  String:
    * Characters enclosed in (").
    * The implicit parameter is the string itself without (").

  Integer number:
    * Begins with sign and/or digit.
    * Characters enclosed in (') or (`).
      (') : Characters are in normal string order.
      (`) : Characters are in reversed string (in number) order.
    * The implicit parameter is the binary value
      of the string number.

  Real number:
    * Begins with a (~).
    * The implicit parameter is the binary value
      of the string number.

  Value name:
    * Begins with a (*).
    * The implicit parameter is the referenced value.

  Return value of a command/function:
    * A ($) follows the parameter.
    * The implicit parameter is the return value
      of the command/function in the parameter.

  Default parameter : String

If a (!) precedes a parameter then that parameter is the name
of a command and this command will be executed if possible.
If not then the (!) assumed as if it would be (?).

If a (?) precedes a parameter then that parameter is the name
of a value and a name to value substitution will be executed recursively.

If a (.) precedes a parameter then that parameter is the name
of a value and a simple name to value substitution will be executed.

If there are no (!), (?) and (.) in a DIO expression, then
the first matchable command will be executed if possible.
If there is not any then a value substitution will be executed
recursively so, that the first parameter will be assumed as if
it were the value's name.

The default value of a name is the empty string.

Reserved value names:
  <Eval/Dsc> : State of the previous evaluation level
  <Eval/Buf> : Buffer contents of the previous evaluation level
  <Eval/Ret> : Buffer contents of the last evaluation level
  <Call/Pos> : Return position of the current function
  <Call/Ret> : Return value of the current function
  <Val/Def>  : Default value of undefined names for default command

The commands except the arithmetical are implemented in CMD.H/C
and documented in CMD.TXT.

The integer number arithmetical commands are implemeted in ARIT.H/C
and doucumented in ARIT.TXT.

The real number arithmetical commands are implemeted in EFPU.H/C
and doucumented in EFPU.TXT.

In console input the ESC key means the End Of File.
Otherwise the ESC key makes an explicit BREAK command.

===========================================================================
